using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using PuenteInterfase;
using System.Diagnostics;
using Vista;

namespace Juego.Controlador
{

    public class ControladorTeclado
    {
        //private ControladorJuego _elcontrolador;
		private Juego _elJuego;
		private bool _presionando;

		/*
		private double _zonaentrada;
		private double _zonasalida;
		private int _puntaje;
		 * */

        public ControladorTeclado( Juego unJuego)
        {
            // _elcontrolador = unControlador;
			_elJuego = unJuego;
			_presionando = false;
        }

		public void SetearFuenteTeclado(frmGuitarra ventana)
		{
			ventana.KeyDown += new KeyEventHandler(ventana_KeyDown);
			ventana.KeyUp += new KeyEventHandler(ventana_KeyUp);
			//ventana.KeyPress += new KeyPressEventHandler(frmGuitarra_KeyPress);
		}

		void ventana_KeyUp(object sender, KeyEventArgs e)
		{
			_presionando = false;
		}

		/*
		void frmGuitarra_KeyPress(object sender, KeyPressEventArgs e)
		{
			_elJuego.GolpearCuerda((int)e.KeyChar);
		}
		 * */

		void ventana_KeyDown(object sender, KeyEventArgs e)
		{
			if (!_presionando)
			{
				_elJuego.GolpearCuerda(e.KeyValue);
				_presionando = true;
			}
		}

		/*
        public void _elcontrolador_AlPresionarseUnaTecla(KeyEventArgs e)
        {
            IEnumerator<BloqueaTocar> iteradorbloques = this._elcontrolador.BloquesVisibles.Values.GetEnumerator();
            while (iteradorbloques.MoveNext())
            {
                if (iteradorbloques.Current.LineaAsociada.TeclaAsociada.GetTecla == e.KeyValue &&
                    iteradorbloques.Current.PosicionY < this._zonasalida &&
                    iteradorbloques.Current.PosicionY > this._zonaentrada)
                {
                    _puntaje++;
                }
            }
            iteradorbloques.Dispose();

			System.Diagnostics.Debug.WriteLine("Puntaje actual " + _puntaje.ToString());
        }
		 * */
    }
}